As digital video cameras are increasingly used in the film industry, a reliable system and method for incorporating time code data into a digital video camera becomes increasingly desirable. Linear Time Code (LTC) data (also called longitudinal time code data) is commonly used in the film industry and is also suitable for digital video systems as a synchronization/time code data source.
U.S. Pat. No. 5,857,044 to Ogawa, et al. discloses a method and apparatus for processing time code. Specifically, the method described by Ogawa, et al. is a method for processing a time code such that time code data composed of an hour minute second frame accompanies picture information of a predetermined system. The time code data is mapped onto picture information of another system, when converting the picture information of the predetermined system into that of another system. The time code is mapped when converting the system of the picture information including the steps of converting time code data accompanying picture information of a predetermined system into a total frame number x, calculating a total frame number y of the converted time code data for the time code data from the total frame number x and generating the converted time code from the total frame number y.
The publication “SMPTE Time Code Receiver/Generator”, Integrated Circuit Systems, Inc., Publication No. ICS2008B, Rev. D, April 2005, discloses a time code receiver/generator. The SMPTE time code receiver/generator is a VLSI device that provides the timing coordination for Multimedia sight and sound events. Although it is aimed at a PC Multimedia environment, it is capable of being integrated into products requiring SMPTE time code generation and/or reception in LTC (Longitudinal Time Code) and/or VITC (Vertical Interval Time Code) formats and MTC (MIDI Time Code) translation.
The publication “FPGA-Based LTC Receiver and Transmitter Functional Specification”, John Ciardi, May 8, 2003, discloses an SMPTE 12M compatible LTC receiver and transmitter that can be implemented in an FPGA. The clock rate for both devices is 27 MHz, making them suitable for integration into a video-centric product. The transmitter symbol data rate is fixed at 80× the corresponding video frame rate. The LTC biphase-mark encoded output stream can be phase synchronized to an external vertical sync pulse or can free run relative to the vertical phase of the corresponding video. The bit rate of the LTC receiver can be asynchronous to the 27 MHz clock. No PLL circuitry is required. The LTC receiver works on the principal of a UART (universal asynchronous receiver-transmitter) for decoding frame-based data. That is, logic operating at a clock rate much higher than the symbol rate simultaneously detects the synchronization pattern and the symbol interval of the synchronization bits. This information is used to decode the actual data bits for that particular frame. The logic adapts to a changing symbol rate on a frame-by-frame basis.
The publication “Longitudinal Time Code Generator (LTC Generator), Product Specification”, Deltatec, February 2004, discloses an LTC generator. The LTC generator core accepts 80 bits of SMPTE/EBU audio Longitudinal Time Code from its 16 bits wide μP interface. The LTC generator synchronizes on the falling edge of the incoming reference signal to start transmission of the received time code. The 80 bits long time code is serialized, biphase mark encoded and transmitted over the full video frame. A simple external analog audio interface is necessary to properly shape (gain & slope adjustment) the digital LTC bitstream.
The publication “Time and Control Code, SMPTE Standard for Television”, Society of Motion Picture and Television Engineers, April 2007, discloses a digital time and control code for use in television, film, and accompanying audio systems operating at nominal rates of 60, 59.94, 50, 30, 29.97, 25, 24, and 23.98 frames per second. The publication defines a time address, binary groups, and flag bit structure. The publication also defines a binary group flag assignment, a linear time code transport, and a vertical interval time code transport. Further, the publication defines two primary data structures, LTC and Vertical Interval Time Code (VITC). The publication defines the VITC modulation and location for 525/59.94 and 625/50 analog systems only.
U.S. Pat. No. 6,044,197 to Smith, et al. discloses a method of recording time code in a database which makes it easy to search for video segments on a target medium while making the original source time code available on playback. As a video segment from a source medium is recorded on the target medium the time code from the first frame of the video segment is extracted and held. The number of frames of the video segment are counted to determine a duration, and at the conclusion of the video segment the extracted time code together with the duration and a location code indicating where on the target medium the video segment is stored are formed into a data structure that is stored in a break table in the database as a “break” entry. The break table is sorted, optimized to eliminate any break entry overlaps, and updated after each new break entry.
U.S. Patent Publication No. 20060087458 to Rodigast, et al. discloses a device for synchronizing an audio signal with a film comprising frames, wherein each frame comprises an imprinted time code. The device includes means for detecting the imprinted time code for the sequence of frames in order to obtain a detected sequence of time codes. Further, a time code generator is provided which is implemented to generate a sequence of synthesis time codes based on an initial value. A decoder is further provided to decode a time code of the detected sequence of time codes in order to provide the initial value for the time code generator. A detected time code and a corresponding synthesis time code are compared in order to then, when a phase deviation is found to be above a deviation threshold value, manipulate the synthesis time code for this frame in so far that it is changed with regard to its temporal length. This synthesis time code is then provided to an audio processing means which is implemented to provide the samples of the audio signal associated with this frame in a time-controlled way in response to a detection of the synthesis time code for a frame. Thus, a flexible system is obtained, by which any number of audio players may be synchronized with the film, particularly as the audio players are provided with predefined synthesis time codes or manipulated synthesis time codes for synchronization purposes.
U.S. Patent Publication No. 20060227879 to Ciardi discloses an LTC receiver for receiving and decoding a LTC frame of the type used in connection with film and television and accompanying audio. The receiver includes a first counter that measures the number of reference clock periods within the duration of a bi-phase mark signal interval to yield a timing reference for extracting the payload from the LTC frame. A second counter detects a sync field within the LTC frame to establish the LTC frame direction. A third counter serves to count the number of symbols in the LTC frame. A state machine responsive to the counts of the first, second and third counters, serves to (a) detect a valid synchronization sequence within an incoming LTC frame; (b) determine the LTC frame direction, (c) decode (extract) payload information from the LTC frame; and (d) transfer the payload information in an order determined by the LTC frame direction.
U.S. Patent Publication No. 20050162546 to Hosoda et al. discloses a system in which, when a time code signal corresponding to an image signal, to which a format conversion changing the number of frames per second is executed, is transmitted, information indicating a frame position where image data is changed through the format conversion in the image signal is attached to the time code signal to be transmitted. Alternatively, information indicating a synchronous state between frame conversion cycles in the format conversion and time code progression is attached to the time code signal. In the fore going manner, a relationship between the frame position and the time code can be accurately grasped. Further, a secondary conversion (inverse conversion) is accurately executed to the image signal by means of the time code signal.
U.S. Patent Publication No. 20010001023 to Imahashi, et al. discloses a method and apparatus for generating an encoded data stream representing a number of pictures or frames and having a number of layers including a picture layer in which time code information attached to the original data is described or inserted therein for each picture. Such time code information may be inserted into a user data area of the picture layer of the encoded data stream.
U.S. Pat. No. 6,222,980 to Asai et al. discloses a direction detector that operates for detecting a direction of feed of a recording tape. A timer operates for counting pulses of a clock signal, and outputting a signal representing a first count value. A second count value is generated which corresponds to a pulse width related to a first bit represented by an input time code signal reproduced from the recording tape. The first count value which occurs at a first time point and the second count value are added into a first addition-result value. An output time code signal is inverted when the first count value currently represented by the output signal of the timer comes equal to the first addition-result value. A second bit is selected from among bits represented by the input time code signal in response to the direction detected by the direction detector. The second bit to be selected neighbors the first bit in a normal time direction when the detected direction agrees with a forward direction. The second bit to be selected neighbors the first bit in a reverse time direction when the detected direction agrees with a reverse direction. A third count value is generated which corresponds to a pulse width related to the second bit. The first count value which occurs at a second time point after the first time point and the third count value are added into a second addition-result value. The first addition-result value is updated into the second addition-result value.